// kX Driver / kX Driver Interface / kX Driver Effects Library
// Copyright (c) Eugene Gavrilov, 2003-2004.
// All rights reserved

/*
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 */

// 10kX microcode
// Patch name: 'pos3dfx'

// FIXME: this effect should position stereo_l/r source in the 3-D space
// FIXME: do we need 'bottom' input, too?.. [depends on kernel-part]
// -----

char *pos3dfx_copyright="Copyright (c) Eugene Gavrilov, 2003-2004. All rights reserved";
char *pos3dfx_engine="kX";
char *pos3dfx_comment="3-D positioned Stereo + 8.1chn sound + 8.1chn reverb";
char *pos3dfx_created="09/19/2003";
char *pos3dfx_guid="a5d3d288-c35e-4aa2-b295-2cb7d3d86ed4";

char *pos3dfx_name="Pos3DFX";
int pos3dfx_itramsize=0,pos3dfx_xtramsize=0;

dsp_register_info pos3dfx_info[]={
	{ "stereo_l",0x4000,0x7,0xffff,0x0 },
	{ "stereo_r",0x4001,0x7,0xffff,0x0 },

	{ "iw",0x4004,0x7,0xffff,0x0 },
	{ "ie",0x4008,0x7,0xffff,0x0 },
	{ "inw",0x4003,0x7,0xffff,0x0 },
	{ "ine",0x4009,0x7,0xffff,0x0 },
	{ "isw",0x4005,0x7,0xffff,0x0 },
	{ "ise",0x4007,0x7,0xffff,0x0 },
	{ "in",0x4002,0x7,0xffff,0x0 },
	{ "is",0x4006,0x7,0xffff,0x0 },
	{ "it",0x4012,0x7,0xffff,0x0 },
        { "ib",0x4014,0x7,0xffff,0x0 },

	{ "fw",0x400c,0x7,0xffff,0x0 },
	{ "fe",0x4010,0x7,0xffff,0x0 },
	{ "fnw",0x400b,0x7,0xffff,0x0 },
	{ "fne",0x4011,0x7,0xffff,0x0 },
	{ "fsw",0x400d,0x7,0xffff,0x0 },
	{ "fse",0x400f,0x7,0xffff,0x0 },
	{ "fn",0x400a,0x7,0xffff,0x0 },
	{ "fs",0x400e,0x7,0xffff,0x0 },
	{ "ft",0x4013,0x7,0xffff,0x0 },
	{ "fb",0x4015,0x7,0xffff,0x0 },

	{ "ow",0x8002,0x8,0xffff,0x0 },
	{ "oe",0x8006,0x8,0xffff,0x0 },
	{ "onw",0x8001,0x8,0xffff,0x0 },
	{ "one",0x8007,0x8,0xffff,0x0 },
	{ "osw",0x8003,0x8,0xffff,0x0 },
	{ "ose",0x8005,0x8,0xffff,0x0 },
	{ "on",0x8000,0x8,0xffff,0x0 },
	{ "os",0x8004,0x8,0xffff,0x0 },
	{ "ot",0x8008,0x8,0xffff,0x0 },
	{ "ob",0x8009,0x8,0xffff,0x0 },
};

dsp_code pos3dfx_code[]={
	{ 0x6,0x8000,0x4002,0x400a,0x2040 },
	{ 0x6,0x8001,0x4003,0x400b,0x2040 },
	{ 0x6,0x8002,0x4004,0x400c,0x4000 },
	{ 0x6,0x8003,0x4005,0x400d,0x2040 },
	{ 0x6,0x8004,0x4006,0x400e,0x2040 },
	{ 0x6,0x8005,0x4007,0x400f,0x2040 },
	{ 0x6,0x8006,0x4008,0x4010,0x4001 },
	{ 0x6,0x8007,0x4009,0x4011,0x2040 },
	{ 0x6,0x8008,0x4012,0x4013,0x2040 }
};

